import axios from "axios"
import storage from "./storage"

const http = axios.create({
    baseURL:"/api",
    timeout:5000, //超时设置
    withCredentials:true
})
//引入nprogress
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'


//!全局的请求拦截器 对接口的请求批量进行统一处理

let  fullScreenLoading=null;


 http.interceptors.request.use(config=>{
      //开启进度条
      NProgress.start()
      //config就是所有的请求配置
      //获取本地存储中的token
      let token=storage.get('qf-token');
    //   console.log(token);
      config.headers.authorization= token
      //config就是所有请求的配置

    return config //放行 不return 那么不能请求真正的发送出去
 })


 //!全局响应拦截 统一对错误进行处理

http.interceptors.response.use(config=>{
  //关闭进度条
  NProgress.done()
  //关闭遮罩
  // if(fullScreenLoading){
  //   fullScreenLoading.close()
  //   fullScreenLoading=null;
  // }
//     let {state,msg}=config.data;
//     console.log(1111111,config);
//     if(!state&&config.config.url!=="/order/query_order_status"){
//       //后台响应了错误结果
//    MessageBox({
//       message:msg,
//       title:"错误提示",
//       type:"error",
//       showClose:true
//    })
//     }

    let {code}=config.data;
    if(code==="10022"||code==="1004"){
    //   Message.error("登录过期过期了,请重新登录")
    //   localStorage.removeItem("wh-token")
    //   location.reload()
    }
    return config
})

export default http;